import json

# 准备高维数据
lst = [
    {'name': '张三', 'age': 18, 'score': 98},
    {'name': '李四', 'age': 17, 'score': 87},
    {'name': '王五', 'age': 22, 'score': 63}
]

# 编码 转成JSON格式 结果为一个字符串   dumps
# ensure_ascii=False 正常显示中文
# indent 增加数据的缩进 使用生成的Json格式字符串更具有可读性
s = json.dumps(lst, ensure_ascii=False, indent=4)
print(type(s))
print(s)

# 解码 将JSON格式字符串转成Python中的数据类型   loads
lst2 = json.loads(s)
print(type(lst2))
print(lst2)

# 编码到文件  dump
with open('student.txt', 'w') as file:
    json.dump(lst, file, indent=4, ensure_ascii=False)

# 编码到程序 load
with open('student.txt', 'r') as file:
    print(json.load(file))
